博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django之ORM数据库操作
阅读量:5369 次
发布时间:2019-06-15

本文共 2379 字,大约阅读时间需要 7 分钟。

一、ORM介绍

映射关系:

  表名 --------------------》类名

  字段--------------------》属性

  表记录-----------------》类实例化对象

ORM的两大功能:

  操作表:

    - 创建表

    - 修改表

    - 删除表

  操作数据行:

    - 增删改查

ORM利用pymysql第三方工具链接数据库

Django没办法帮我们创建数据库,只能我们创建完之后告诉它,让django去链接

二、创建表之前的准备工作

一、自己创建数据库

二、在settings里面配置mysql数据库链接

  sqlite3------改为mysql

# 修改django默认的数据库的sqlite3为mysqlDATABASES = {    'default': {            'ENGINE': 'django.db.backends.mysql', #通过这个去链接mysql            'NAME': 'djangotsgl',            'USER':'root',            'PASSWORD':'123456',            'HOST':'localhost',            'PORT':'3306',        }    }

  这样写上以后django会默认的就去链接数据库,这时你会看到报错了,那么解决的办法就是下面的这样

三、app01中的--init--文件

import pymysqlpymysql.install_as_MySQLdb()

四、创建数据库表

models.py

class Book(models.Model):  #必须要继承的    nid = models.AutoField(primary_key=True)  #自增id(可以不写,默认会有自增id)    title = models.CharField(max_length=32)    publishDdata = models.DateField()  #出版日期    author = models.CharField(max_length=32)    price = models.DecimalField(max_digits=5,decimal_places=2)  #一共5位,保留两位小数

 执行命令创建:(需要记住的!!!) 

python3 manage.py makemigrations   创建脚本python3 manage.py migrate   迁移

具体例子实现

model.py

urls.py

views.py

template /index.html

1  2  3  4     
5
6
7 Title 8
9 10 15 16 17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 {% for book in book_list %}33
34
35
36
37
38
39
44
45 {% endfor %}46
47
编号 书名 出版日期 作者 价钱 操作
{ { book.nid }} { { book.title }} { { book.publishDdata|date:'Y-m-d' }} { { book.author }} { { book.price }} 40 41 42 43
48
49
50
51 52
图片内容具体,

 五、查看数据库的sql语句(加在settings.py)

查看数据库执行代码LOGGING = {    'version': 1,    'disable_existing_loggers': False,    'handlers': {        'console':{            'level':'DEBUG',            'class':'logging.StreamHandler',        },    },    'loggers': {        'django.db.backends': {            'handlers': ['console'],            'propagate': True,            'level':'DEBUG',        },    }}

 

转载于:https://www.cnblogs.com/morgana/p/8492865.html

你可能感兴趣的文章
查询避免Unknown column ‘xxx’ in ‘where clause’
查看>>
PHP If...Else 语句
查看>>
微信推送模板消息
查看>>
关于堆栈
查看>>
java集合框架和泛型
查看>>
每天进步一点点-->C语言文件操作函数
查看>>
使用testNG进行并发性能测试
查看>>
正确的添加图片方法 - 解决UIImageView.image = UIImage(named: String)不显示图像的问题...
查看>>
渗透测试中常见的端口
查看>>
物联网课堂笔记
查看>>
Python 改变字体颜色
查看>>
题目一:一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?...
查看>>
处理圆形图片(如头像)
查看>>
UVa-816 Abbott's Revenge
查看>>
Leetcode-1031 Number of Enclaves(飞地的数量)
查看>>
HDU 5154 Harry and Magical Computer bfs
查看>>
喵哈哈村的魔法考试 Round #8 (Div.2) 题解
查看>>
论文泛读:Click Fraud Detection: Adversarial Pattern Recognition over 5 Years at Microsoft
查看>>
Java并发编程:Lock
查看>>
snmp4j 之 ArgumentParser
查看>>